package net.lab1024.sa.admin.module.users.consumablesinventory.domain.form;

import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDate;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.checkerframework.checker.units.qual.N;

/**
 * 实训室耗材入库 更新表单
 *
 * @Author xixi
 * @Date 2024-11-08 13:31:03
 * @Copyright 🐂🐎bloc
 */

@Data
public class ConsumablesInventoryUpdateForm {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "id 不能为空")
    private Integer id;

    @Schema(description = "入库日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "入库日期 不能为空")
    private LocalDate entryDate;

    @Schema(description = "类别", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer category;


    @Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "物料代码 不能为空")
    private String materialCode;

    @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "物料名称 不能为空")
    private String materialName;

    @Schema(description = "规格型号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String specificationModel;

    @Schema(description = "采购数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "采购数量 不能为空")
    private Integer purchaseQuantity;

    @Schema(description = "单价（元）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "单价（元） 不能为空")
    private BigDecimal unitPrice;

    @Schema(description = "总价（元）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "总价（元） 不能为空")
    private BigDecimal totalPrice;

    @Schema(description = "采购途径", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "采购途径 不能为空")
    private String purchaseChannel;

    @Schema(description = "存放地点", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "存放地点 不能为空")
    private String storageLocation;

    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "备注 不能为空")
    private String remark;

    @Schema(description = "采购人", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "采购人 不能为空")
    private String purchaser;

    @Schema(description = "验收人员", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "验收人员 不能为空")
    private String inspector;

    @Schema(description = "仓库管理员", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "仓库管理员 不能为空")
    private String warehouseManager;
    @Schema(description = "验收状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private int status;
    @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
    private String unit;

}